home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / CIncludes / AVComponents.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-17  |  19.5 KB  |  531 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        AVComponents.h
  3.  
  4.      Contains:    Standard includes for standard AV panels
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1989-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __AVCOMPONENTS__
  18. #define __AVCOMPONENTS__
  19.  
  20. #ifndef __DIALOGS__
  21. #include <Dialogs.h>
  22. #endif
  23. #ifndef __VIDEO__
  24. #include <Video.h>
  25. #endif
  26. #ifndef __DISPLAYS__
  27. #include <Displays.h>
  28. #endif
  29. #ifndef __COMPONENTS__
  30. #include <Components.h>
  31. #endif
  32.  
  33.  
  34.  
  35. #if PRAGMA_ONCE
  36. #pragma once
  37. #endif
  38.  
  39. #ifdef __cplusplus
  40. extern "C" {
  41. #endif
  42.  
  43. #if PRAGMA_IMPORT
  44. #pragma import on
  45. #endif
  46.  
  47. #if PRAGMA_STRUCT_ALIGN
  48.     #pragma options align=mac68k
  49. #elif PRAGMA_STRUCT_PACKPUSH
  50.     #pragma pack(push, 2)
  51. #elif PRAGMA_STRUCT_PACK
  52.     #pragma pack(2)
  53. #endif
  54.  
  55. /*
  56.     The subtypes listed here are for example only.  The display manager will find _all_ panels
  57.       with the appropriate types.  These panels return class information that is used to devide them
  58.       up into groups to be displayed in the AV Windows (class means "geometry" or "color" or other groupings
  59.       like that.
  60. */
  61.  
  62. enum {
  63.     kAVPanelType                = FOUR_CHAR_CODE('avpc'),        /* Panel subtypes            */
  64.     kBrightnessPanelSubType        = FOUR_CHAR_CODE('brit'),
  65.     kContrastPanelSubType        = FOUR_CHAR_CODE('cont'),
  66.     kBitDepthPanelSubType        = FOUR_CHAR_CODE('bitd'),
  67.     kAVEngineType                = FOUR_CHAR_CODE('avec'),        /* Engine subtypes                */
  68.     kBrightnessEngineSubType    = FOUR_CHAR_CODE('brit'),
  69.     kContrastEngineSubType        = FOUR_CHAR_CODE('cont'),        /*    kBitDepthEngineSubType        = 'bitd',            // Not used                    */
  70.     kAVPortType                    = FOUR_CHAR_CODE('avdp')        /*subtypes are defined in each port's public .h file*/
  71. };
  72.  
  73. /* PortComponent subtypes are up to the port and display manager does not use the subtype
  74.     to find port components.  Instead, display manager uses an internal cache to search for portcompoennts.
  75.     It turns out to be useful to have a unique subtype so that engines can see if they should apply themselves to
  76.     a particular port component.
  77.   
  78.    PortKinds are the "class" of port.  When a port is registered with display manager (creating a display ID), the
  79.     caller of DMNewDisplayIDByPortComponent passes a portKind.  Ports of this type are returned by
  80.     DMNewDevicePortList.
  81.   
  82.    PortKinds are NOT subtypes of components
  83.    PortKinds ARE used to register and find port components with Display Manager.  Here are the basic port kinds:
  84.   
  85.    Video displays are distinct from video out because there are some video out ports that are not actaully displays.
  86.     if EZAV is looking to configure displays, it needs to look for kAVVideoDisplayPortKind not kAVVideoOutPortKind.
  87.  */
  88.  
  89. enum {
  90.     kAVVideoDisplayPortKind        = FOUR_CHAR_CODE('pkdo'),        /* Video Display (CRT or panel display)                */
  91.     kAVVideoOutPortKind            = FOUR_CHAR_CODE('pkvo'),        /* Video out port (camera output).                      */
  92.     kAVVideoInPortKind            = FOUR_CHAR_CODE('pkvi'),        /* Video in port (camera input)                        */
  93.     kAVSoundOutPortKind            = FOUR_CHAR_CODE('pkso'),        /* Sound out port (speaker or speaker jack)            */
  94.     kAVSoundInPortKind            = FOUR_CHAR_CODE('pksi'),        /* Sound in port (microphone or microphone jack)    */
  95.     kAVDeviceType                = FOUR_CHAR_CODE('avdc'),        /* Device Component subtypes are up to the manufacturor since each device may contain multiple function types (eg telecaster) */
  96.     kAVDisplayDeviceKind        = FOUR_CHAR_CODE('dkvo'),        /* Display device*/
  97.                                                                 /* Device Component subtypes are up to the manufacturor since each device may contain multiple function types (eg telecaster)*/
  98.     kAVCategoryType                = FOUR_CHAR_CODE('avcc'),
  99.     kAVSoundInSubType            = FOUR_CHAR_CODE('avao'),
  100.     kAVSoundOutSubType            = FOUR_CHAR_CODE('avai'),
  101.     kAVVideoInSubType            = FOUR_CHAR_CODE('vdin'),
  102.     kAVVideoOutSubType            = FOUR_CHAR_CODE('vdou'),
  103.     kAVInvalidType                = FOUR_CHAR_CODE('badt')        /* Some calls return a component type, in case of errors, these types are set to kAVInvalidComponentType */
  104. };
  105.  
  106. /*
  107.    Interface Signatures are used to identify what kind of component
  108.    calls can be made for a given component. Today this applies only
  109.    to ports, but could be applied to other components as well.
  110. */
  111.  
  112. enum {
  113.     kAVGenericInterfaceSignature = FOUR_CHAR_CODE('dmgr'),
  114.     kAVAppleVisionInterfaceSignature = FOUR_CHAR_CODE('avav')
  115. };
  116.  
  117. /*
  118.    Constants for Panel Classes (used to build buttons in AVSetup) 
  119.    but is generic to all panels 
  120. */
  121.  
  122. enum {
  123.     kAVPanelClassDisplayDefault    = FOUR_CHAR_CODE('cdsp'),
  124.     kAVPanelClassColor            = FOUR_CHAR_CODE('cclr'),
  125.     kAVPanelClassGeometry        = FOUR_CHAR_CODE('cgeo'),
  126.     kAVPanelClassSound            = FOUR_CHAR_CODE('csnd'),
  127.     kAVPanelClassPreferences    = FOUR_CHAR_CODE('cprf')
  128. };
  129.  
  130. /* =============================                    */
  131. /* Component interface revision levels and history    */
  132. /* =============================                    */
  133.  
  134. enum {
  135.     kAVPanelComponentInterfaceRevOne = 1,
  136.     kAVEngineComponentInterfaceRevOne = 1,
  137.     kAVPortComponentInterfaceRevOne = 1,
  138.     kAVDeviceComponentInterfaceRevOne = 1
  139. };
  140.  
  141.  
  142.  
  143. enum {
  144.     kBaseAVComponentSelector    = 256,                            /* First apple-defined selector for AV components */
  145.     kAppleAVComponentSelector    = 512                            /* First apple-defined type-specific selector for AV components */
  146. };
  147.  
  148.  
  149. /* =============================                */
  150. /* Panel Standard component selectors            */
  151. /* =============================                */
  152.  
  153. enum {
  154.     kAVPanelFakeRegisterSelect    = kComponentRegisterSelect,        /* -5    */
  155.     kAVPanelSetCustomDataSelect    = 0,
  156.     kAVPanelGetDitlSelect        = 1,
  157.     kAVPanelGetTitleSelect        = 2,
  158.     kAVPanelInstallSelect        = 3,
  159.     kAVPanelEventSelect            = 4,
  160.     kAVPanelItemSelect            = 5,
  161.     kAVPanelRemoveSelect        = 6,
  162.     kAVPanelValidateInputSelect    = 7,
  163.     kAVPanelGetSettingsIdentifiersSelect = 8,
  164.     kAVPanelGetSettingsSelect    = 9,
  165.     kAVPanelSetSettingsSelect    = 10,
  166.     kAVPanelSelectorGetFidelitySelect = kBaseAVComponentSelector,
  167.     kAVPanelSelectorTargetDeviceSelect = 257,
  168.     kAVPanelSelectorGetPanelClassSelect = 258
  169. };
  170.  
  171.  
  172. /* =============================                */
  173. /* Engine Standard component selectors            */
  174. /* =============================                */
  175.  
  176. enum {
  177.     kAVEngineGetEngineFidelitySelect = kBaseAVComponentSelector,
  178.     kAVEngineTargetDeviceSelect    = 257
  179. };
  180.  
  181.  
  182. /* =============================                    */
  183. /* Video Port Specific calls                        */
  184. /* =============================                    */
  185.  
  186. enum {
  187.     kAVPortCheckTimingModeSelect = 0,
  188.     kAVPortReserved1Select        = 1,                            /* Reserved*/
  189.     kAVPortReserved2Select        = 2,                            /* Reserved*/
  190.     kAVPortGetDisplayTimingInfoSelect = kAppleAVComponentSelector
  191. };
  192.  
  193.  
  194. /* =============================                    */
  195. /* AV Port Specific calls                            */
  196. /* =============================                    */
  197.  
  198. enum {
  199.     kAVPortGetAVDeviceFidelitySelect = kBaseAVComponentSelector, /* Port Standard Component selectors */
  200.     kAVPortGetWiggleSelect        = 257,
  201.     kAVPortSetWiggleSelect        = 258,
  202.     kAVPortGetNameSelect        = 259,
  203.     kAVPortGetGraphicInfoSelect    = 260,
  204.     kAVPortSetActiveSelect        = 261,
  205.     kAVPortGetActiveSelect        = 262,
  206.     kAVPortUnsed1Select            = 263,                            /* Selector removed as part of API change.  We don't want to mess up the following selectors, so we put in this spacer (ie kPadSelector). */
  207.     kAVPortGetAVIDSelect        = 264,
  208.     kAVPortSetAVIDSelect        = 265,
  209.     kAVPortSetDeviceAVIDSelect    = 266,                            /* For registrar to set device (instead of hitting global directly) -- should only be called once */
  210.     kAVPortGetDeviceAVIDSelect    = 267,                            /* Called by display mgr for generic ports */
  211.     kAVPortGetPowerStateSelect    = 268,
  212.     kAVPortSetPowerStateSelect    = 269,
  213.     kAVPortGetMakeAndModelSelect = 270,                            /* Get Make and model information*/
  214.     kAVPortGetInterfaceSignatureSelect = 271,                    /* To determine what VideoPort-specific calls can be made*/
  215.     kAVPortReserved3Select        = 272,                            /* Reserved*/
  216.     kAVPortGetManufactureInfoSelect = 273                        /* Get more Make and model information  */
  217. };
  218.  
  219.  
  220.  
  221.  
  222. /* =============================                    */
  223. /* Device Component Standard Component selectors    */
  224. /* =============================                    */
  225.  
  226. enum {
  227.     kAVDeviceGetNameSelect        = kBaseAVComponentSelector,
  228.     kAVDeviceGetGraphicInfoSelect = 257,
  229.     kAVDeviceGetPowerStateSelect = 258,
  230.     kAVDeviceSetPowerStateSelect = 259,
  231.     kAVDeviceGetAVIDSelect        = 260,
  232.     kAVDeviceSetAVIDSelect        = 261
  233. };
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242. /* =============================                */
  243. /* Engine Standard component selectors            */
  244. /* =============================                */
  245. EXTERN_API( ComponentResult )
  246. AVEngineComponentGetFidelity    (ComponentInstance         engineComponent,
  247.                                  DisplayIDType             displayID,
  248.                                  DMFidelityType *        engineFidelity)                        FIVEWORDINLINE(0x2F3C, 0x0008, 0x0100, 0x7000, 0xA82A);
  249.  
  250. EXTERN_API( ComponentResult )
  251. AVEngineComponentTargetDevice    (ComponentInstance         engineComponent,
  252.                                  DisplayIDType             displayID)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
  253.  
  254.  
  255. /* =============================                */
  256. /* Panel Standard Component calls                */
  257. /* =============================                */
  258. EXTERN_API( ComponentResult )
  259. AVPanelFakeRegister                (ComponentInstance         ci)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0xFFFB, 0x7000, 0xA82A);
  260.  
  261. EXTERN_API( ComponentResult )
  262. AVPanelSetCustomData            (ComponentInstance         ci,
  263.                                  long                     theCustomData)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0000, 0x7000, 0xA82A);
  264.  
  265. EXTERN_API( ComponentResult )
  266. AVPanelGetDitl                    (ComponentInstance         ci,
  267.                                  Handle *                ditl)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
  268.  
  269. EXTERN_API( ComponentResult )
  270. AVPanelGetTitle                    (ComponentInstance         ci,
  271.                                  StringPtr                 title)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0002, 0x7000, 0xA82A);
  272.  
  273. EXTERN_API( ComponentResult )
  274. AVPanelInstall                    (ComponentInstance         ci,
  275.                                  DialogPtr                 dialog,
  276.                                  long                     itemOffset)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0003, 0x7000, 0xA82A);
  277.  
  278. EXTERN_API( ComponentResult )
  279. AVPanelEvent                    (ComponentInstance         ci,
  280.                                  DialogPtr                 dialog,
  281.                                  long                     itemOffset,
  282.                                  EventRecord *            event,
  283.                                  short *                itemHit,
  284.                                  Boolean *                handled)                            FIVEWORDINLINE(0x2F3C, 0x0014, 0x0004, 0x7000, 0xA82A);
  285.  
  286. EXTERN_API( ComponentResult )
  287. AVPanelItem                        (ComponentInstance         ci,
  288.                                  DialogPtr                 dialog,
  289.                                  long                     itemOffset,
  290.                                  short                     itemNum)                            FIVEWORDINLINE(0x2F3C, 0x000A, 0x0005, 0x7000, 0xA82A);
  291.  
  292. EXTERN_API( ComponentResult )
  293. AVPanelRemove                    (ComponentInstance         ci,
  294.                                  DialogPtr                 dialog,
  295.                                  long                     itemOffset)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0006, 0x7000, 0xA82A);
  296.  
  297. EXTERN_API( ComponentResult )
  298. AVPanelValidateInput            (ComponentInstance         ci,
  299.                                  Boolean *                ok)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
  300.  
  301. EXTERN_API( ComponentResult )
  302. AVPanelGetSettingsIdentifiers    (ComponentInstance         ci,
  303.                                  short *                theID,
  304.                                  OSType *                theType)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0008, 0x7000, 0xA82A);
  305.  
  306. EXTERN_API( ComponentResult )
  307. AVPanelGetSettings                (ComponentInstance         ci,
  308.                                  Handle *                userDataHand,
  309.                                  long                     flags,
  310.                                  DialogPtr                 theDialog,
  311.                                  long                     itemsOffset)                        FIVEWORDINLINE(0x2F3C, 0x0010, 0x0009, 0x7000, 0xA82A);
  312.  
  313. EXTERN_API( ComponentResult )
  314. AVPanelSetSettings                (ComponentInstance         ci,
  315.                                  Handle                 userDataHand,
  316.                                  long                     flags,
  317.                                  DialogPtr                 theDialog,
  318.                                  long                     itemsOffset)                        FIVEWORDINLINE(0x2F3C, 0x0010, 0x000A, 0x7000, 0xA82A);
  319.  
  320. EXTERN_API( ComponentResult )
  321. AVPanelGetFidelity                (ComponentInstance         panelComponent,
  322.                                  DisplayIDType             displayID,
  323.                                  DMFidelityType *        panelFidelity)                        FIVEWORDINLINE(0x2F3C, 0x0008, 0x0100, 0x7000, 0xA82A);
  324.  
  325. EXTERN_API( ComponentResult )
  326. AVPanelComponentTargetDevice    (ComponentInstance         panelComponent,
  327.                                  DisplayIDType             displayID,
  328.                                  DialogPtr                 theDialog,
  329.                                  long                     itemsOffset)                        FIVEWORDINLINE(0x2F3C, 0x000C, 0x0101, 0x7000, 0xA82A);
  330.  
  331. EXTERN_API( ComponentResult )
  332. AVPanelComponentGetPanelClass    (ComponentInstance         panelComponent,
  333.                                  ResType *                panelClass,
  334.                                  ResType *                subClass,
  335.                                  Ptr                     reserved1,
  336.                                  Ptr                     reserved2)                            FIVEWORDINLINE(0x2F3C, 0x0010, 0x0102, 0x7000, 0xA82A);
  337.  
  338.  
  339. /* =============================                */
  340. /* Port Component Standard Component selectors    */
  341. /* =============================                */
  342. EXTERN_API( ComponentResult )
  343. AVPortGetAVDeviceFidelity        (ComponentInstance         portComponent,
  344.                                  AVIDType                 deviceAVID,
  345.                                  DMFidelityType *        portFidelity)                        FIVEWORDINLINE(0x2F3C, 0x0008, 0x0100, 0x7000, 0xA82A);
  346.  
  347. EXTERN_API( ComponentResult )
  348. AVPortGetWiggle                    (ComponentInstance         portComponent,
  349.                                  Boolean *                wiggleDevice)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
  350.  
  351. EXTERN_API( ComponentResult )
  352. AVPortSetWiggle                    (ComponentInstance         portComponent,
  353.                                  Boolean                 wiggleDevice)                        FIVEWORDINLINE(0x2F3C, 0x0002, 0x0102, 0x7000, 0xA82A);
  354.  
  355. EXTERN_API( ComponentResult )
  356. AVPortGetName                    (ComponentInstance         portComponent,
  357.                                  Str255                 portName)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
  358.  
  359. EXTERN_API( ComponentResult )
  360. AVPortGetGraphicInfo            (ComponentInstance         portComponent,
  361.                                  PicHandle *            thePict,
  362.                                  Handle *                theIconSuite,
  363.                                  AVLocationPtr             theLocation)                        FIVEWORDINLINE(0x2F3C, 0x000C, 0x0104, 0x7000, 0xA82A);
  364.  
  365. EXTERN_API( ComponentResult )
  366. AVPortSetActive                    (ComponentInstance         portComponent,
  367.                                  Boolean                 setActive)                            FIVEWORDINLINE(0x2F3C, 0x0002, 0x0105, 0x7000, 0xA82A);
  368.  
  369. EXTERN_API( ComponentResult )
  370. AVPortGetActive                    (ComponentInstance         portComponent,
  371.                                  Boolean *                isPortActive,
  372.                                  Boolean *                portCanBeActivated,
  373.                                  void *                    reserved)                            FIVEWORDINLINE(0x2F3C, 0x000C, 0x0106, 0x7000, 0xA82A);
  374.  
  375. EXTERN_API( ComponentResult )
  376. AVPortGetAVID                    (ComponentInstance         portComponent,
  377.                                  AVIDType *                avPortID)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0108, 0x7000, 0xA82A);
  378.  
  379. EXTERN_API( ComponentResult )
  380. AVPortSetAVID                    (ComponentInstance         portComponent,
  381.                                  AVIDType                 avPortID)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0109, 0x7000, 0xA82A);
  382.  
  383. EXTERN_API( ComponentResult )
  384. AVPortSetDeviceAVID                (ComponentInstance         portComponent,
  385.                                  AVIDType                 avDeviceID)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x010A, 0x7000, 0xA82A);
  386.  
  387. EXTERN_API( ComponentResult )
  388. AVPortGetDeviceAVID                (ComponentInstance         portComponent,
  389.                                  AVIDType *                avDeviceID)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x010B, 0x7000, 0xA82A);
  390.  
  391. EXTERN_API( ComponentResult )
  392. AVPortGetPowerState                (ComponentInstance         portComponent,
  393.                                  AVPowerStatePtr         getPowerState)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x010C, 0x7000, 0xA82A);
  394.  
  395. EXTERN_API( ComponentResult )
  396. AVPortSetPowerState                (ComponentInstance         portComponent,
  397.                                  AVPowerStatePtr         setPowerState)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x010D, 0x7000, 0xA82A);
  398.  
  399. EXTERN_API( ComponentResult )
  400. AVPortGetMakeAndModel            (ComponentInstance         portComponent,
  401.                                  DisplayIDType             theDisplayID,
  402.                                  ResType *                manufacturer,
  403.                                  UInt32 *                model,
  404.                                  UInt32 *                serialNumber)                        FIVEWORDINLINE(0x2F3C, 0x0010, 0x010E, 0x7000, 0xA82A);
  405.  
  406. EXTERN_API( ComponentResult )
  407. AVPortGetInterfaceSignature        (ComponentInstance         portComponent,
  408.                                  OSType *                interfaceSignature)                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x010F, 0x7000, 0xA82A);
  409.  
  410. EXTERN_API( ComponentResult )
  411. AVPortGetManufactureInfo        (ComponentInstance         portComponent,
  412.                                  DisplayIDType             theDisplayID,
  413.                                  DMMakeAndModelPtr         theMakeAndModel)                    FIVEWORDINLINE(0x2F3C, 0x0008, 0x0111, 0x7000, 0xA82A);
  414.  
  415.  
  416. /* =============================                */
  417. /* Video Out Port Component Selectors            */
  418. /* =============================                */
  419. EXTERN_API( ComponentResult )
  420. AVPortCheckTimingMode            (ComponentInstance         displayComponent,
  421.                                  DisplayIDType             theDisplayID,
  422.                                  VDDisplayConnectInfoPtr  connectInfo,
  423.                                  VDTimingInfoPtr         modeTiming,
  424.                                  UInt32                 reserved)                            FIVEWORDINLINE(0x2F3C, 0x0010, 0x0000, 0x7000, 0xA82A);
  425.  
  426. EXTERN_API( ComponentResult )
  427. AVPortGetDisplayTimingInfo        (ComponentInstance         displayComponent,
  428.                                  VDTimingInfoPtr         modeTiming,
  429.                                  UInt32                 requestedVersion,
  430.                                  DMDisplayTimingInfoPtr  modeInfo,
  431.                                  UInt32                 reserved)                            FIVEWORDINLINE(0x2F3C, 0x0010, 0x0200, 0x7000, 0xA82A);
  432.  
  433. /* =============================                */
  434. /* AV Device Component Selectors                */
  435. /* =============================                */
  436. EXTERN_API( ComponentResult )
  437. AVDeviceGetName                    (ComponentInstance         deviceComponent,
  438.                                  Str255                 portName)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
  439.  
  440. EXTERN_API( ComponentResult )
  441. AVDeviceGetGraphicInfo            (ComponentInstance         deviceComponent,
  442.                                  PicHandle *            thePict,
  443.                                  Handle *                theIconSuite,
  444.                                  AVLocationPtr             theLocation)                        FIVEWORDINLINE(0x2F3C, 0x000C, 0x0101, 0x7000, 0xA82A);
  445.  
  446. EXTERN_API( ComponentResult )
  447. AVDeviceGetPowerState            (ComponentInstance         deviceComponent,
  448.                                  AVPowerStatePtr         getPowerState)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
  449.  
  450. EXTERN_API( ComponentResult )
  451. AVDeviceSetPowerState            (ComponentInstance         deviceComponent,
  452.                                  AVPowerStatePtr         setPowerState)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
  453.  
  454. EXTERN_API( ComponentResult )
  455. AVDeviceGetAVID                    (ComponentInstance         deviceComponent,
  456.                                  AVIDType *                avDeviceID)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0104, 0x7000, 0xA82A);
  457.  
  458. EXTERN_API( ComponentResult )
  459. AVDeviceSetAVID                    (ComponentInstance         deviceComponent,
  460.                                  AVIDType                 avDeviceID)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0105, 0x7000, 0xA82A);
  461.  
  462.  
  463.  
  464.  
  465. /* MixedMode ProcInfo constants for component calls */
  466. enum {
  467.     uppAVEngineComponentGetFidelityProcInfo            = 0x00000FF0,
  468.     uppAVEngineComponentTargetDeviceProcInfo        = 0x000003F0,
  469.     uppAVPanelFakeRegisterProcInfo                    = 0x000000F0,
  470.     uppAVPanelSetCustomDataProcInfo                    = 0x000003F0,
  471.     uppAVPanelGetDitlProcInfo                        = 0x000003F0,
  472.     uppAVPanelGetTitleProcInfo                        = 0x000003F0,
  473.     uppAVPanelInstallProcInfo                        = 0x00000FF0,
  474.     uppAVPanelEventProcInfo                            = 0x0003FFF0,
  475.     uppAVPanelItemProcInfo                            = 0x00002FF0,
  476.     uppAVPanelRemoveProcInfo                        = 0x00000FF0,
  477.     uppAVPanelValidateInputProcInfo                    = 0x000003F0,
  478.     uppAVPanelGetSettingsIdentifiersProcInfo        = 0x00000FF0,
  479.     uppAVPanelGetSettingsProcInfo                    = 0x0000FFF0,
  480.     uppAVPanelSetSettingsProcInfo                    = 0x0000FFF0,
  481.     uppAVPanelGetFidelityProcInfo                    = 0x00000FF0,
  482.     uppAVPanelComponentTargetDeviceProcInfo            = 0x00003FF0,
  483.     uppAVPanelComponentGetPanelClassProcInfo        = 0x0000FFF0,
  484.     uppAVPortGetAVDeviceFidelityProcInfo            = 0x00000FF0,
  485.     uppAVPortGetWiggleProcInfo                        = 0x000003F0,
  486.     uppAVPortSetWiggleProcInfo                        = 0x000001F0,
  487.     uppAVPortGetNameProcInfo                        = 0x000003F0,
  488.     uppAVPortGetGraphicInfoProcInfo                    = 0x00003FF0,
  489.     uppAVPortSetActiveProcInfo                        = 0x000001F0,
  490.     uppAVPortGetActiveProcInfo                        = 0x00003FF0,
  491.     uppAVPortGetAVIDProcInfo                        = 0x000003F0,
  492.     uppAVPortSetAVIDProcInfo                        = 0x000003F0,
  493.     uppAVPortSetDeviceAVIDProcInfo                    = 0x000003F0,
  494.     uppAVPortGetDeviceAVIDProcInfo                    = 0x000003F0,
  495.     uppAVPortGetPowerStateProcInfo                    = 0x000003F0,
  496.     uppAVPortSetPowerStateProcInfo                    = 0x000003F0,
  497.     uppAVPortGetMakeAndModelProcInfo                = 0x0000FFF0,
  498.     uppAVPortGetInterfaceSignatureProcInfo            = 0x000003F0,
  499.     uppAVPortGetManufactureInfoProcInfo                = 0x00000FF0,
  500.     uppAVPortCheckTimingModeProcInfo                = 0x0000FFF0,
  501.     uppAVPortGetDisplayTimingInfoProcInfo            = 0x0000FFF0,
  502.     uppAVDeviceGetNameProcInfo                        = 0x000003F0,
  503.     uppAVDeviceGetGraphicInfoProcInfo                = 0x00003FF0,
  504.     uppAVDeviceGetPowerStateProcInfo                = 0x000003F0,
  505.     uppAVDeviceSetPowerStateProcInfo                = 0x000003F0,
  506.     uppAVDeviceGetAVIDProcInfo                        = 0x000003F0,
  507.     uppAVDeviceSetAVIDProcInfo                        = 0x000003F0
  508. };
  509.  
  510.  
  511. #if PRAGMA_STRUCT_ALIGN
  512.     #pragma options align=reset
  513. #elif PRAGMA_STRUCT_PACKPUSH
  514.     #pragma pack(pop)
  515. #elif PRAGMA_STRUCT_PACK
  516.     #pragma pack()
  517. #endif
  518.  
  519. #ifdef PRAGMA_IMPORT_OFF
  520. #pragma import off
  521. #elif PRAGMA_IMPORT
  522. #pragma import reset
  523. #endif
  524.  
  525. #ifdef __cplusplus
  526. }
  527. #endif
  528.  
  529. #endif /* __AVCOMPONENTS__ */
  530.  
  531.